With all the advances in computer technology, virtually any machine, appliance or device is capable of generating or collecting vast amounts of data. Additionally, the growing trend towards global data sharing and electronic commerce is creating an environment where large quantities of disparate data exist in a multitude of repositories each having non-uniform access methods. This typically requires data to be imported, exported, translated or even replicated among different data management systems. Consider an example hospital environment where all the data regarding a patient's care is managed by a large database like DB2. Despite the fact that these databases could serve as a single repository for all of the patient's hospital data, they don't. For example, if the patient is being monitored by a heart monitor, the output is usually strip-paper which may or may not wind up in the patient's "paper" folder. If a doctor wants to review the data sometime later, it's cumbersome and at times impossible to locate it. The patient's chart is another example of an important data object which is loosely managed. Every day several members of the hospital staff make updates in the chart, and it's usually done in written form on paper. Once again, accessing this data at a later time, especially by a doctor at a remote location, is cumbersome. Furthermore, one person may be updating the chart while another is trying to access it, unaware that updates are pending. Finally, diagnostic test results such as X-Rays, MRIs, CT-Scans, etc. all contribute to the pile of data compiled into the patient's folder. At some point all of this "paper" and "electronic" data must be referenced to calculate the patient's bill or analyzed by doctors to diagnose problems and prescribe treatment. Upon being discharged, if someone wanted to review all aspects of the patient's hospital stay (diagnostic tests run, test results, daily vital signs, doctor's exam notes, nurses charting notes, billing information, medication administered, etc.), it would undoubtedly require accessing several computer systems plus tracking down several files, papers, and other types of output media.
In another example, a manufacturing company purchases raw materials or parts from vendors and assembles them, along with its own components, into finished products. These products are then marketed, distributed, and sold, possibly to other manufacturers for inclusion into their products. Although recent advances such as e-business and the world wide web have strengthened each link of the vendor-customer chain, the lack of a common organization method have impeded these businesses from sharing data between their computing devices. For instance, one vendor may be using a Windows NT environment for managing their product data. Their employees may use hand-held computing devices running Windows CE to remotely enter information into a Windows NT data management system. Because of the similarity in platforms and operating systems, these hand-held devices can successfully communicate with the data management system. However, a problem arises if a customer is using a Unix or S/390 system for data management and wants to link it to the vendor's DM system. If the goal is to directly exchange data between the vendor's hand-held device and the customers Unix or S/390 DM system, it may be imposesidle due to the incompatibility between the two platforms.
Clearly the need exists for seamless management of data across all facets of the product development cycle, including data residing at different locations worldwide. Furthermore, as noted by Oliver Tegel in "Integrating human knowledge into the product development process" as published in the Proceedings of the ASME Database Symposium, Engineering Data Management: Integrating the Engineering Enterprise ASME Database Symposium 1994, ASCE, New York, N.Y., USA. p 93-100, specialists who are not working directly together are often needed for solving the demanding tasks that arise during the development of today's advanced products. During product development, assistance is required from other departments such as manufacturing, operations scheduling, etc. Even the vendors and customers should be integrated into the product development process to guarantee the product developed will be accepted in the market.
Another example, U.S. Pat. No. 5,201,047 to Maki et al. (issued Apr. 6, 1993) teaches an attribute based classification and retrieval system wherein it is unnecessary to implement an artificial code for indexing classifications. The patent teaches a method for defining unique, user-determined attributes for storing data which are capable of being readily augmented without necessitating the modification of the underlying query used for retrieval thereof. However, the Maki et al. patent requires that the data items being grouped share at least one common attribute to enable the grouping, and therefore fails to address the problems of managing data aggregates formed from disparate and unrelated data objects.
Other data management systems address the creation of data aggregates coupled to particular processes implemented in the data system. For example, U.S. Pat. No. 5,321,605 to Chapman et al. (issued Jun. 14, 1994) teaches the creation of a Bill of Resources table which represents the resources consumed in the performance of a given process. Attribute tables for the given resources are utilized to determine whether additional processes which will consume some or all of the resources of a given process can be initiated. The patent to Chapman et al., requires that each process to be initiated have a particular Bill of Resources aggregate associated therewith. This tightly coupled construct does not permit the creation of data aggregates not related to a particular process implemented in the data management system. Furthermore, since a process must be contemplated in order to create a Bill of Resources table, Chapman et al. do not permit the creation of aggregates without foreknowledge of the process that requires the resource. Thus, in a manner similar to that described for Maki et al., Chapman et al. require that a relationship between the elements exist prior to the formation of the Bill of Resources grouping.
Also, unrelated DMS systems are known which are used for hardware implementations which enable related data in a computer memory, storage or I/O subsystem to be physically grouped in proximity to other such data so as to improve hardware performance, application performance, and/or to solve memory management issues are known. For example, U.S. Pat. No. 5,418,949 to Suzuki (issued May 23, 1995) teaches a file storage management system for a database which achieves a high level of clustering on a given page and teaches loading related data from a secondary storage unit at high speed. The patent uses map files including a metamap file for defining page to page relations of data. These hardware implementations are not related to the present invention, as they involve the management of the physical contents of a data object rather than the management of aggregations of data objects as we perform the methods of our present invention. It is contemplated, however, that such known hardware techniques may be implemented in a system comprising the aggregation management features disclosed herein, thereby further augmenting the overall system efficiency.
During our development process we have viewed the development of others. Even the best of the EDA (electronic design automation) design houses don't have an integrated approach like we have developed.
For the purposes of this background, we will discuss some of the various approaches already used specifically viewing them in light of our own separate developments which we will further elaborate in our detailed description of our invention which follows later in this specification.
In the field of EDA, there are today several leading edge providers of Data Management technology. Among them are Cadence Design Systems, Inc., ViewLogic Inc., and Synchronicity Inc., Of course there are others, but these the companies that have the capability to provide complete data management solutions that encompass all facets of the business process including design, manufacturing, quality control, defect tracking, project management and the like. However, review of their most recent technology still affords the opportunity to make improvements in the area of scalability, modularity and adaptation of disparate environments into a seamless Data Management enterprise.
Historically many attempts have been made to manage and share data across groups of users or teams. This has typically resulted in systems that assume a particular use model and expect the users to mold their process or methodology around it. Furthermore, these systems tend to either be a closed architecture which is difficult to enhance or customize. In addition these systems can be large and complex, and lacking the ability to scale from a small team of "low-end" users to a large group of sophisticated "high-end" users. U.S. Pat. No. 5,812,130, entitled "Data Management System and Method for Concurrent Engineering", and U.S. Pat. No. 5,826,265 entitled "Data Management System Having Shared Libraries", both issued to Van Huben et al. as well as the following patent applications:
U.S. patent application Ser. No. 08/772,064 entitled "Data Management System for Concurrent Engineering", filed Dec. 6, 1996, now abandoned. PA0 U.S. patent application Ser. No. 08/761,474 entitled "Data Management System for Problems, Releases and Parts", filed Dec. 6, 1996, U.S. Pat. No. 5,864,875. PA0 U.S. patent application Ser. No. 08/761,253 entitled "Data Management System and Process", filed Dec. 6, 1996, U.S. Pat. No. 5,878,408. PA0 U.S. patent application Ser. No. 08/760,913 entitled "Data Management System for File and Database Management", filed Dec. 6, 1996, U.S. Pat. No. 6,088,693. PA0 U.S. patent application Ser. No. 08/761,463 entitled "Data Management Control System for File and Database", filed Dec. 6, 1996, U.S. Pat. No. 5,920,873. PA0 U.S. patent application Ser. No. 08/762,236 entitled "Data Management System Having Data Management Configuration", filed Dec. 6, 1996, U.S. Pat. No. 5,920,867. PA0 U.S. patent application Ser. No. 08/759,692 entitled "Data Management Control System for CDA Applications", filed Dec. 6, 1996, and U.S. Pat. No. 5,950,201. PA0 U.S. patent application Ser. No. 08/982,724 entitled "Modular, Scalable Data Management System", filed Dec. 2, 1997, U.S. Pat. No. 5,966,707.
All teach various methods employing a modular scalable data management system which is also envisioned as part of the present invention. However, these inventions and applications assume all the data being managed already exists on a traditional computer machine comprising one or more processors, memory and I/O devices for a user to interact with such as a keyboard, mouse, display, microphone, etc. They fall short of demonstrating how the underlying principles can be expanded to include non-traditional computers such as medical diagnostic equipment, industrial robots, hand-held devices, etc. which can be made to interact with said data management system to assimilate data management practices directly into their primary tasks without the need for human intervention.
Another growing problem involving pervasive computing involves the ability to disseminate data from a central server to a plurality of remote computing devices, and maintain synchronized copies of the data at all locations. Lotus Notes (a trademark of Lotus Development Corporation, a subsidiary of International Business Machines Corporation) and the Briefcase (of Microsoft Corporation) application within Microsoft's Windows 95 operating system are examples of application software which seeks to synchronize data between remote and host computers. Lotus Notes incorporates a sophisticated process known as replication to achieve this goal. During replication, the data within a client computer's database is compared against the data on the host server and the computer with the oldest copy is updated with the most recent. Upon completion of replication a complete image of all the data resides on both machines.
If the database undergoing replication is large a disadvantage of this method becomes apparent; an equivalent amount of storage space is required on the client computer, even if the user only intends to access a subset of the data. Notes does permit data to be organized in FOLDERS, which can be selectively included or excluded from replication, but this fails to address the problem when the user needs to access small amounts of data from the majority of the folders. The problem compounds for large data management environments with tens or hundreds of people trying to share data residing in one database. These limitations make it difficult to centralize the management of different types of data as well as inhibit the interaction between several disparate pervasive devices.
Another problem with the aforementioned synchronization methods is the requirement that all clients must be capable of executing a local copy of the synchronization application (such as Lotus Notes). Devices such as a digital camera generate data can be useful in a Lotus Notes environment, but in order to assimilate it into that environment the camera necessitates a link to a personal computer executing a client copy of Lotus Notes. This not only requires a hardware platform with significant resources (i.e. Pentium-class PC, 32 MB RAM, minimum 200 MB Hard Disk), but it must be a true "computer" (PC, Workstation, Server, Laptop, etc.) running a full size operating system (Windows NT, Windows 95, OS/2, OS/390, etc.). This virtually alienates small pervasive devices such as cell phones, pagers, PDAs, electronic organizers, etc. Since Notes is capable of managing a multitude of information including e-mail, addresses, telephone numbers, appointments, etc., one can envision how productivity can be improved by enabling a direct exchange of information between pervasive devices and such an application.
Although this example cites Lotus Notes, one skilled in the art can appreciate how this problem grows in complexity when one considers the task of integrating all the various types of pervasive devices with the myriad of computer platforms, operating systems, databases, data management systems, and protocols in existence.